package com.wicket.okrcomponent.integration.dto;

import com.wicket.okrcomponent.common.dto.BaseDto;
import com.wicket.okrcomponent.integration.dto.ConfItemResultDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddConfItemResultComReqDto
 * @使用场景
 */
@Data
public class AddConfItemResultComReqDto
  extends BaseDto
  implements Serializable {

  @ApiModelProperty("方案下选项配置结果列表")
  private List<ConfItemResultDto> confItemResultList = new ArrayList<>();

  /**
   * 是否首次答案 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否首次答案")
  private String isUltrResult;

  /**
   * 是否标准答案 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否标准答案不能为空")
  @ApiModelProperty("是否标准答案")
  private String isPlatData;

  /**
   * 是否定制结果 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否定制结果不能为空")
  @ApiModelProperty("是否定制结果")
  private String isCeResult;

  /**
   * 配置项关系ID
   */
  @NotNull(message = "配置项关系ID不能为空")
  @ApiModelProperty("配置项关系ID")
  private String classConfItemId;

  /**
   * 开通对象使用关系ID
   */
  @ApiModelProperty("开通对象使用关系ID")
  private String applexRelId;

  /**
   * 开通对象ID
   */
  @ApiModelProperty("开通对象ID")
  private String resultAspObjId;

  /**
   * 开通钥匙ID
   */
  @ApiModelProperty("开通钥匙ID")
  private String schOpenRecordId;

  /**
   * 开通钥匙类型标识
   */
  @ApiModelProperty("开通钥匙类型标识")
  private String authorizationKeyTypeCode;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
